from multiprocessing import Process
import time
import random
import os


def test():
    for i in range(random.randint(1, 5)):
        print("----子进程中%d----子进程ID=%d----父进程ID=%d" %(i, os.getpid(), os.getppid()))
        time.sleep(1)

print("----start---- %s " % os.getpid())
if __name__ == '__main__':
    print("子进程 %s " % os.getpid())
    p = Process(target=test)
    p.start()  # 让这个进程开始执行test函数里的代码，启动进程
    p.join(2)  # 堵塞 #等待进程结束才执行下面的程序（）里面有时间的话，说明等待多长时间 TODO 这两行分别注掉有不同的结果
    # p.join()  # 这句话保证子进程结束后再向下执行
    # p.terminate() #进行结束
    print("----等待子进程结束后进行-----")

#整个子进程结束后主进程才结束，p.join保证p进程结束后，才继续向下执行
print("----main---- %s " % os.getpid()) # 所有的进程结束后，程序才结束
''''
视频结果，哪果i > 3, main后面还会执行的3和4
'''

